The present invention relates to a recommender control system, apparatus, method and related aspects. In particular, but not exclusively, to a control system for a recommender configured to provide accurate, up-to-date predictions of user preferences towards products within a large set, for example, within a Video on Demand catalogue.
Recommender systems are well-known in the art and provide personalised lists of recommended consumable items to users. The lists are generated on an individual basis and attempt to predict individual user interest towards the items listed, for example, purchasing the item and/or viewing it on a client device.
Known recommender systems provide either content-based recommendations in which a user is recommended items similar to the ones a user has preferred in the past, or collaborative filtering recommendations in which a user is recommended items that people with similar tastes and preferences have liked in the past, or adopt a hybrid approach which combines collaborative filtering and content-based methods. Recommendations are usually evaluated on the basis of a user probably liking/disliking an item, or on the basis of a potential rating that the user may assign to that item, or on a relative rating in which each user's potential liking is compared to the ranking of other items. An introduction to recommender systems can be found in Adomavicius, G., and Tuzhilin in “A. Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”, IEEE TKDE (2005) which provides a comprehensive overview of the state of the art in recommender algorithms, the contents of which are hereby incorporated by reference.
Factors such as a) the continuous influx of new data about user behaviour, b) the number of new users that need recommendations, c) inconstancies in the amount of user behaviour data provided to the recommender and d) changes in the preferences of users over time, all contribute to a dynamically changing recommender system operating environment. Recommender systems which operate in such environments are preferably therefore retrained from time to time (or indeed quite regularly) with fresh training data which comprises information indicating what user's actual current preferences are so as to enable recommender systems in such dynamic environments to adapt to the changing conditions.
Not all consumable items however are consumed in a way which allows a preference to be expressed. For example, broadcast television channels usually do not provide viewers with an opportunity to indicate whether they liked a particular television programme or not. Even if an opportunity is given to express an opinion for an item, not all users may choose to provide an indication of their preference. The “degree” of preference may or may not be captured accurately overall as different users may indicate their preferences on scales of various degrees of conservatism, if a scale of 0 to 10, say, is provided rather than “like” or “dislike”. In contrast, it is often possible to configure web-portals which provide Video-On-Demand (VoD) services to capture feedback from users who have downloaded and watched a video.
Moreover, providing data to re-train a recommender system from a huge number of users presents challenges in that it takes up system resources. For example, transferring user preference information from a large number of client devices takes up bandwidth within the communications network connecting the client devices to the recommender system. Moreover, training activities have a high computational cost for the recommender system. Thus the need to retrain needs to be balanced against the quality of recommendations being provided.
Recommender systems known in the art are limited in the way that the performance of the recommender is capable of being controlled externally by third parties. Parekh, S., Gandhi, N., Hellerstein, J., Tilbury, D., Jayram, T., and Bigus, J., describe the principles of control theory in their paper “Using Control Theory to Achieve Service Level Objectives In Performance Management”, published in Real Time Systems (2002). More specifically, Zanardi, V., and Capra, L., in “Dynamic updating of online recommender systems via feed-forward controllers”, published in the In Proc. of SEAMS (2011), describe using control theory to model the behaviour of software systems. They provide a set of analytical tools that can predict with high accuracy the behaviour of a real system in the context of monitoring system growth and to control whether the system needs to perform an update. Another publication addressing recommender control is by Meng, K., Wang, Y., Zhang, X., Xiao, X. C., and du Zhang, G., entitled “Control theory based rating recommendation for reputation systems. In Proc. of ICNSC (2006)”.
US 2002/0161664 describes a recommender system which uses a neural network to generate recommendations to users for certain products based on an analysis of the underlying problems or needs of users and the experience of (other) users with similar problems and/or needs with (other) products having similar properties to those being recommended. The invention considers issues to do with how training of the neural network should be achieved but does not consider the question of how much training data should be used in training the neural network, let alone any suggestion of how an optimum amount of training data could be selected.